Redshiftをmixpanelに自動インポートするWarehouse Eventsやってみた!
ミックスパネラーの國崎です。
今回はRedshiftのデータをmixpanelに自動インポートする「Warehouse Events(Redshift版)」を使ってみたので、そちらの手順をお伝えします。
前提条件
- Redshiftにmixpanelインポート用のテーブルを作成済み
- AWS CLIインストール済み
今回AWS CLIを使ってターミナルからポリシーやらロールを作成しました。
そのためAWS CLIを使ってない+ポリシーやらロールを新規で作成する方はAWSコンソールからそれぞれ作成するイメージで見ていただければと思います。
Redshiftに用意したインポート用のテーブル
Redshiftからmixpanelに連携する際は指定のカラムを用意したテーブルを準備する必要があります。
具体的には以下カラムは必須です。
- Event Name
- Event Time
- Distinct ID
- Insert Time
- Insert ID
注意点としてはEvent Timeはイベントが発生した時間で、Insert Timeはレコードに追加された時間になります。
同じ時間でも定義が違うことに注意しましょう。
今回テストで使うテーブルで以下を用意しました。
Event_Name | Event_Time | Distinct_ID | Insert_Time | Insert_ID |
---|---|---|---|---|
シェアする | 2023/10/15 16:00:00 | 43922a76-8c2f-59fa-9e24-a5662a0b1581 | 2023/10/15 18:00:00 | 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000007 |
QRを読み取る | 2023/10/15 18:00:00 | 43922a76-8c2f-59fa-9e24-a5662a0b1581 | 2023/10/15 20:00:00 | count-1680318000009 |
LINE登録をする | 2023/9/1 12:00:00 | 52336ef6-dd78-582a-8185-a099e0bcf269 | 2023/9/1 14:00:00 | 52336ef6-dd78-582a-8185-a099e0bcf269-1680318000002 |
クーポンを使う | 2023/9/1 14:00:00 | 8daaffc1-e947-53d8-b302-afb02202931d | 2023/9/1 16:00:00 | 8daaffc1-e947-53d8-b302-afb02202931d-1680318000004 |
QRを読み取る | 2023/9/1 15:00:00 | 863c803d-328d-5de7-97d3-cc20536d7e1a | 2023/9/1 17:00:00 | 863c803d-328d-5de7-97d3-cc20536d7e1a-1680318000005 |
LINE登録をする | 2023/9/1 16:00:00 | 43922a76-8c2f-59fa-9e24-a5662a0b1581 | 2023/9/1 18:00:00 | 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000006 |
クーポンを使う | 2023/9/1 17:00:00 | testid123 | 2023/9/1 19:00:00 | testid123-1680318000007 |
QRを読み取る | 2023/9/1 18:00:00 | testid999 | 2023/9/1 20:00:00 | count-1680318000008 |
早速検証をしてみます。
mixpanelでの操作
mixpanelでは「Warehouse Sources」で連携するデータウェアハウスの設定を行い、「Warehouse Data」で連携するデータの設定を行います。
Warehouse Sourcesでデータウェアハウスを設定
Project Settings > Warehouse Data でAdd Warehouse > Redshiftをクリック。
AWS Account IDとCluster IDを入力。
これらはAWSコンソールで確認できますね。
次のページは色々入力項目があるので分けて紹介します。
まずAWSで使っているRegionと今回の連携で使うS3バケットを入力します。
データベースを指定し、ポリシーは任意になりますが入力します。
ちなみにS3バケット作成、ポリシー作成、ロール作成、それらの割り当てはAWS CLIのコードが自動で書き出されるので、AWS CLIをインストールしているのであればそのコードをターミナルに貼り付けるだけでサクサクできます。
Redshiftのスキーマにロールを割り当てる記述も自動生成されるので、インポートするテーブルに権限を割り当てていない方はこちらの記述で割り当てておきます。
grant USAGE on schema <your schema name> to "IAMR:"; grant SELECT on all tables in schema <your schema name> to "IAMR:";
Warehouse Dataで連携するデータの設定
Project Settings > Warehouse Data でCreateをクリック。
表示された画面左側で読み込むRedshiftのCluster ID・スキーマ・テーブルを選択し、必須カラムのEvent Name・Event Time・Distinct ID・Insert Time・Insert IDがそれぞれどのカラムにあたるかを指定します。
各項目が問題なく連携されると右側に連携されるデータの項目が表示されます。
ちなみに連携の頻度は1時間に1回か1日に1回のどちらかが選択できます。
連携確認のためにmixpanelのレポートを開くとRedshiftにあったイベントが追加されているのが確認できました。
以上、Redshiftのデータをmixpanelにインポートさせる検証記事でした。
mixpanelの公式ドキュメントでは今回のRedshiftからmixpanelにインポートさせる手順を動画でも公開しております。
気になる方はこちらもぜひご覧ください。
クラスメソッドが行っているmixpanelの支援
クラスメソッドではmixpanelをすでにお使いのお客様にも以下の支援サービスを提供しております。
- PoC…検証環境提供
- プランニング支援…KPI設計の支援/QA対応
- 実装支援…開発の支援/SaaS連携支援
- 伴走支援…定例など
mixpanelのKPI設計は以下記事でも紹介している専用の測定フレームワークを用いたプランニング支援をさせていただきます。
mixpanelの測定フレームワーク作り方のコツ!サンプルを例に解説!
また実装いただいた後の伴走支援では実際にお使いになられているお客様の課題感などをヒアリングさせていただき、ご要望に沿った内容での定例を設けさせていただき、成果につなげるための分析手法のご提案などをさせていただきます。
今回の記事を見てmixpanelについて詳細の話を聞きたい、興味を持ったという方はぜひぜひクラスメソッドまでお問い合わせください!!